// Generated from /Users/liuxiaopeng/git/rz-openmetadata/openmetadata-ui/src/main/resources/ui/../../../../../openmetadata-spec/src/main/antlr4/org/openmetadata/schema/JdbcUri.g4 by ANTLR 4.9.2
// jshint ignore: start
import antlr4 from 'antlr4';



const serializedATN = ["\u0003\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786",
    "\u5964\u0002\u0012\u00d8\b\u0001\u0004\u0002\t\u0002\u0004\u0003\t\u0003",
    "\u0004\u0004\t\u0004\u0004\u0005\t\u0005\u0004\u0006\t\u0006\u0004\u0007",
    "\t\u0007\u0004\b\t\b\u0004\t\t\t\u0004\n\t\n\u0004\u000b\t\u000b\u0004",
    "\f\t\f\u0004\r\t\r\u0004\u000e\t\u000e\u0004\u000f\t\u000f\u0004\u0010",
    "\t\u0010\u0004\u0011\t\u0011\u0003\u0002\u0003\u0002\u0003\u0002\u0003",
    "\u0002\u0003\u0002\u0003\u0002\u0003\u0003\u0003\u0003\u0003\u0004\u0003",
    "\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003",
    "\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003",
    "\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003",
    "\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003",
    "\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003",
    "\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003",
    "\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003",
    "\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003",
    "\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003",
    "\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003",
    "\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0005",
    "\u0004o\n\u0004\u0003\u0005\u0003\u0005\u0003\u0005\u0003\u0005\u0003",
    "\u0005\u0003\u0005\u0003\u0005\u0003\u0005\u0003\u0005\u0005\u0005z",
    "\n\u0005\u0003\u0006\u0003\u0006\u0006\u0006~\n\u0006\r\u0006\u000e",
    "\u0006\u007f\u0003\u0007\u0003\u0007\u0007\u0007\u0084\n\u0007\f\u0007",
    "\u000e\u0007\u0087\u000b\u0007\u0003\b\u0003\b\u0003\b\u0007\b\u008c",
    "\n\b\f\b\u000e\b\u008f\u000b\b\u0003\b\u0003\b\u0003\t\u0003\t\u0006",
    "\t\u0095\n\t\r\t\u000e\t\u0096\u0003\t\u0003\t\u0006\t\u009b\n\t\r\t",
    "\u000e\t\u009c\u0003\t\u0003\t\u0006\t\u00a1\n\t\r\t\u000e\t\u00a2\u0003",
    "\t\u0003\t\u0006\t\u00a7\n\t\r\t\u000e\t\u00a8\u0003\n\u0003\n\u0003",
    "\n\u0006\n\u00ae\n\n\r\n\u000e\n\u00af\u0003\n\u0003\n\u0006\n\u00b4",
    "\n\n\r\n\u000e\n\u00b5\u0007\n\u00b8\n\n\f\n\u000e\n\u00bb\u000b\n\u0003",
    "\n\u0003\n\u0003\n\u0005\n\u00c0\n\n\u0003\n\u0003\n\u0003\u000b\u0003",
    "\u000b\u0003\f\u0003\f\u0003\f\u0003\f\u0003\r\u0003\r\u0003\u000e\u0003",
    "\u000e\u0003\u000f\u0003\u000f\u0003\u0010\u0003\u0010\u0003\u0011\u0006",
    "\u0011\u00d3\n\u0011\r\u0011\u000e\u0011\u00d4\u0003\u0011\u0003\u0011",
    "\u0002\u0002\u0012\u0003\u0003\u0005\u0004\u0007\u0005\t\u0006\u000b",
    "\u0007\r\b\u000f\t\u0011\n\u0013\u000b\u0015\f\u0017\r\u0019\u000e\u001b",
    "\u000f\u001d\u0010\u001f\u0011!\u0012\u0003\u0002\t\u0003\u00022;\u0004",
    "\u0002C\\c|\u0006\u00022;C\\aac|\u0006\u0002/02;C\\c|\u0005\u00022;",
    "C\\c|\u0005\u00022;CHch\u0005\u0002\u000b\f\u000f\u000f\"\"\u0002\u00ed",
    "\u0002\u0003\u0003\u0002\u0002\u0002\u0002\u0005\u0003\u0002\u0002\u0002",
    "\u0002\u0007\u0003\u0002\u0002\u0002\u0002\t\u0003\u0002\u0002\u0002",
    "\u0002\u000b\u0003\u0002\u0002\u0002\u0002\r\u0003\u0002\u0002\u0002",
    "\u0002\u000f\u0003\u0002\u0002\u0002\u0002\u0011\u0003\u0002\u0002\u0002",
    "\u0002\u0013\u0003\u0002\u0002\u0002\u0002\u0015\u0003\u0002\u0002\u0002",
    "\u0002\u0017\u0003\u0002\u0002\u0002\u0002\u0019\u0003\u0002\u0002\u0002",
    "\u0002\u001b\u0003\u0002\u0002\u0002\u0002\u001d\u0003\u0002\u0002\u0002",
    "\u0002\u001f\u0003\u0002\u0002\u0002\u0002!\u0003\u0002\u0002\u0002",
    "\u0003#\u0003\u0002\u0002\u0002\u0005)\u0003\u0002\u0002\u0002\u0007",
    "n\u0003\u0002\u0002\u0002\ty\u0003\u0002\u0002\u0002\u000b{\u0003\u0002",
    "\u0002\u0002\r\u0081\u0003\u0002\u0002\u0002\u000f\u0088\u0003\u0002",
    "\u0002\u0002\u0011\u0092\u0003\u0002\u0002\u0002\u0013\u00aa\u0003\u0002",
    "\u0002\u0002\u0015\u00c3\u0003\u0002\u0002\u0002\u0017\u00c5\u0003\u0002",
    "\u0002\u0002\u0019\u00c9\u0003\u0002\u0002\u0002\u001b\u00cb\u0003\u0002",
    "\u0002\u0002\u001d\u00cd\u0003\u0002\u0002\u0002\u001f\u00cf\u0003\u0002",
    "\u0002\u0002!\u00d2\u0003\u0002\u0002\u0002#$\u0007l\u0002\u0002$%\u0007",
    "f\u0002\u0002%&\u0007d\u0002\u0002&\'\u0007e\u0002\u0002\'(\u0007<\u0002",
    "\u0002(\u0004\u0003\u0002\u0002\u0002)*\u00071\u0002\u0002*\u0006\u0003",
    "\u0002\u0002\u0002+,\u0007o\u0002\u0002,-\u0007{\u0002\u0002-.\u0007",
    "u\u0002\u0002./\u0007s\u0002\u0002/o\u0007n\u0002\u000201\u0007r\u0002",
    "\u000212\u0007q\u0002\u000223\u0007u\u0002\u000234\u0007v\u0002\u0002",
    "45\u0007i\u0002\u000256\u0007t\u0002\u000267\u0007g\u0002\u000278\u0007",
    "u\u0002\u000289\u0007s\u0002\u00029o\u0007n\u0002\u0002:;\u0007q\u0002",
    "\u0002;<\u0007t\u0002\u0002<=\u0007c\u0002\u0002=>\u0007e\u0002\u0002",
    ">?\u0007n\u0002\u0002?@\u0007g\u0002\u0002@A\u0007<\u0002\u0002AB\u0007",
    "v\u0002\u0002BC\u0007j\u0002\u0002CD\u0007k\u0002\u0002Do\u0007p\u0002",
    "\u0002EF\u0007e\u0002\u0002FG\u0007n\u0002\u0002GH\u0007k\u0002\u0002",
    "HI\u0007e\u0002\u0002IJ\u0007m\u0002\u0002JK\u0007j\u0002\u0002KL\u0007",
    "q\u0002\u0002LM\u0007w\u0002\u0002MN\u0007u\u0002\u0002No\u0007g\u0002",
    "\u0002OP\u0007v\u0002\u0002PQ\u0007t\u0002\u0002QR\u0007k\u0002\u0002",
    "RS\u0007p\u0002\u0002So\u0007q\u0002\u0002TU\u0007r\u0002\u0002UV\u0007",
    "t\u0002\u0002VW\u0007g\u0002\u0002WX\u0007u\u0002\u0002XY\u0007v\u0002",
    "\u0002Yo\u0007q\u0002\u0002Z[\u0007x\u0002\u0002[\\\u0007g\u0002\u0002",
    "\\]\u0007t\u0002\u0002]^\u0007v\u0002\u0002^_\u0007k\u0002\u0002_`\u0007",
    "e\u0002\u0002`o\u0007c\u0002\u0002ab\u0007j\u0002\u0002bc\u0007k\u0002",
    "\u0002cd\u0007x\u0002\u0002de\u0007g\u0002\u0002eo\u00074\u0002\u0002",
    "fg\u0007t\u0002\u0002gh\u0007g\u0002\u0002hi\u0007f\u0002\u0002ij\u0007",
    "u\u0002\u0002jk\u0007j\u0002\u0002kl\u0007k\u0002\u0002lm\u0007h\u0002",
    "\u0002mo\u0007v\u0002\u0002n+\u0003\u0002\u0002\u0002n0\u0003\u0002",
    "\u0002\u0002n:\u0003\u0002\u0002\u0002nE\u0003\u0002\u0002\u0002nO\u0003",
    "\u0002\u0002\u0002nT\u0003\u0002\u0002\u0002nZ\u0003\u0002\u0002\u0002",
    "na\u0003\u0002\u0002\u0002nf\u0003\u0002\u0002\u0002o\b\u0003\u0002",
    "\u0002\u0002pq\u0007<\u0002\u0002qr\u00071\u0002\u0002rz\u00071\u0002",
    "\u0002st\u0007<\u0002\u0002tu\u0007B\u0002\u0002uv\u00071\u0002\u0002",
    "vz\u00071\u0002\u0002wx\u0007<\u0002\u0002xz\u0007B\u0002\u0002yp\u0003",
    "\u0002\u0002\u0002ys\u0003\u0002\u0002\u0002yw\u0003\u0002\u0002\u0002",
    "z\n\u0003\u0002\u0002\u0002{}\u0005\u001d\u000f\u0002|~\t\u0002\u0002",
    "\u0002}|\u0003\u0002\u0002\u0002~\u007f\u0003\u0002\u0002\u0002\u007f",
    "}\u0003\u0002\u0002\u0002\u007f\u0080\u0003\u0002\u0002\u0002\u0080",
    "\f\u0003\u0002\u0002\u0002\u0081\u0085\t\u0003\u0002\u0002\u0082\u0084",
    "\t\u0004\u0002\u0002\u0083\u0082\u0003\u0002\u0002\u0002\u0084\u0087",
    "\u0003\u0002\u0002\u0002\u0085\u0083\u0003\u0002\u0002\u0002\u0085\u0086",
    "\u0003\u0002\u0002\u0002\u0086\u000e\u0003\u0002\u0002\u0002\u0087\u0085",
    "\u0003\u0002\u0002\u0002\u0088\u0089\u0005\t\u0005\u0002\u0089\u008d",
    "\t\u0003\u0002\u0002\u008a\u008c\t\u0005\u0002\u0002\u008b\u008a\u0003",
    "\u0002\u0002\u0002\u008c\u008f\u0003\u0002\u0002\u0002\u008d\u008b\u0003",
    "\u0002\u0002\u0002\u008d\u008e\u0003\u0002\u0002\u0002\u008e\u0090\u0003",
    "\u0002\u0002\u0002\u008f\u008d\u0003\u0002\u0002\u0002\u0090\u0091\t",
    "\u0006\u0002\u0002\u0091\u0010\u0003\u0002\u0002\u0002\u0092\u0094\u0005",
    "\t\u0005\u0002\u0093\u0095\t\u0002\u0002\u0002\u0094\u0093\u0003\u0002",
    "\u0002\u0002\u0095\u0096\u0003\u0002\u0002\u0002\u0096\u0094\u0003\u0002",
    "\u0002\u0002\u0096\u0097\u0003\u0002\u0002\u0002\u0097\u0098\u0003\u0002",
    "\u0002\u0002\u0098\u009a\u0005\u001b\u000e\u0002\u0099\u009b\t\u0002",
    "\u0002\u0002\u009a\u0099\u0003\u0002\u0002\u0002\u009b\u009c\u0003\u0002",
    "\u0002\u0002\u009c\u009a\u0003\u0002\u0002\u0002\u009c\u009d\u0003\u0002",
    "\u0002\u0002\u009d\u009e\u0003\u0002\u0002\u0002\u009e\u00a0\u0005\u001b",
    "\u000e\u0002\u009f\u00a1\t\u0002\u0002\u0002\u00a0\u009f\u0003\u0002",
    "\u0002\u0002\u00a1\u00a2\u0003\u0002\u0002\u0002\u00a2\u00a0\u0003\u0002",
    "\u0002\u0002\u00a2\u00a3\u0003\u0002\u0002\u0002\u00a3\u00a4\u0003\u0002",
    "\u0002\u0002\u00a4\u00a6\u0005\u001b\u000e\u0002\u00a5\u00a7\t\u0002",
    "\u0002\u0002\u00a6\u00a5\u0003\u0002\u0002\u0002\u00a7\u00a8\u0003\u0002",
    "\u0002\u0002\u00a8\u00a6\u0003\u0002\u0002\u0002\u00a8\u00a9\u0003\u0002",
    "\u0002\u0002\u00a9\u0012\u0003\u0002\u0002\u0002\u00aa\u00ab\u0005\t",
    "\u0005\u0002\u00ab\u00ad\u0007]\u0002\u0002\u00ac\u00ae\u0005\u0015",
    "\u000b\u0002\u00ad\u00ac\u0003\u0002\u0002\u0002\u00ae\u00af\u0003\u0002",
    "\u0002\u0002\u00af\u00ad\u0003\u0002\u0002\u0002\u00af\u00b0\u0003\u0002",
    "\u0002\u0002\u00b0\u00b9\u0003\u0002\u0002\u0002\u00b1\u00b3\u0005\u001d",
    "\u000f\u0002\u00b2\u00b4\u0005\u0015\u000b\u0002\u00b3\u00b2\u0003\u0002",
    "\u0002\u0002\u00b4\u00b5\u0003\u0002\u0002\u0002\u00b5\u00b3\u0003\u0002",
    "\u0002\u0002\u00b5\u00b6\u0003\u0002\u0002\u0002\u00b6\u00b8\u0003\u0002",
    "\u0002\u0002\u00b7\u00b1\u0003\u0002\u0002\u0002\u00b8\u00bb\u0003\u0002",
    "\u0002\u0002\u00b9\u00b7\u0003\u0002\u0002\u0002\u00b9\u00ba\u0003\u0002",
    "\u0002\u0002\u00ba\u00bf\u0003\u0002\u0002\u0002\u00bb\u00b9\u0003\u0002",
    "\u0002\u0002\u00bc\u00bd\u0005\u001d\u000f\u0002\u00bd\u00be\u0005\u0011",
    "\t\u0002\u00be\u00c0\u0003\u0002\u0002\u0002\u00bf\u00bc\u0003\u0002",
    "\u0002\u0002\u00bf\u00c0\u0003\u0002\u0002\u0002\u00c0\u00c1\u0003\u0002",
    "\u0002\u0002\u00c1\u00c2\u0007_\u0002\u0002\u00c2\u0014\u0003\u0002",
    "\u0002\u0002\u00c3\u00c4\t\u0007\u0002\u0002\u00c4\u0016\u0003\u0002",
    "\u0002\u0002\u00c5\u00c6\u0005\r\u0007\u0002\u00c6\u00c7\u0007?\u0002",
    "\u0002\u00c7\u00c8\u0005\r\u0007\u0002\u00c8\u0018\u0003\u0002\u0002",
    "\u0002\u00c9\u00ca\u0007A\u0002\u0002\u00ca\u001a\u0003\u0002\u0002",
    "\u0002\u00cb\u00cc\u00070\u0002\u0002\u00cc\u001c\u0003\u0002\u0002",
    "\u0002\u00cd\u00ce\u0007<\u0002\u0002\u00ce\u001e\u0003\u0002\u0002",
    "\u0002\u00cf\u00d0\u0007(\u0002\u0002\u00d0 \u0003\u0002\u0002\u0002",
    "\u00d1\u00d3\t\b\u0002\u0002\u00d2\u00d1\u0003\u0002\u0002\u0002\u00d3",
    "\u00d4\u0003\u0002\u0002\u0002\u00d4\u00d2\u0003\u0002\u0002\u0002\u00d4",
    "\u00d5\u0003\u0002\u0002\u0002\u00d5\u00d6\u0003\u0002\u0002\u0002\u00d6",
    "\u00d7\b\u0011\u0002\u0002\u00d7\"\u0003\u0002\u0002\u0002\u0011\u0002",
    "ny\u007f\u0085\u008d\u0096\u009c\u00a2\u00a8\u00af\u00b5\u00b9\u00bf",
    "\u00d4\u0003\b\u0002\u0002"].join("");


const atn = new antlr4.atn.ATNDeserializer().deserialize(serializedATN);

const decisionsToDFA = atn.decisionToState.map( (ds, index) => new antlr4.dfa.DFA(ds, index) );

export default class JdbcUriLexer extends antlr4.Lexer {

    static grammarFileName = "JdbcUri.g4";
    static channelNames = [ "DEFAULT_TOKEN_CHANNEL", "HIDDEN" ];
	static modeNames = [ "DEFAULT_MODE" ];
	static literalNames = [ null, "'jdbc:'", "'/'", null, null, null, null, 
                         null, null, null, null, null, "'?'", "'.'", "':'", 
                         "'&'" ];
	static symbolicNames = [ null, null, null, "DATABASE_TYPE", "URI_SEPARATOR", 
                          "PORT_NUMBER", "IDENTIFIER", "HOST_NAME", "IPV4_ADDRESS", 
                          "IPV6_ADDRESS", "HEXDIGIT", "CONNECTION_ARG", 
                          "CONNECTION_ARG_INIT", "PERIOD", "COLON", "AMP", 
                          "WS" ];
	static ruleNames = [ "T__0", "T__1", "DATABASE_TYPE", "URI_SEPARATOR", 
                      "PORT_NUMBER", "IDENTIFIER", "HOST_NAME", "IPV4_ADDRESS", 
                      "IPV6_ADDRESS", "HEXDIGIT", "CONNECTION_ARG", "CONNECTION_ARG_INIT", 
                      "PERIOD", "COLON", "AMP", "WS" ];

    constructor(input) {
        super(input)
        this._interp = new antlr4.atn.LexerATNSimulator(this, atn, decisionsToDFA, new antlr4.PredictionContextCache());
    }

    get atn() {
        return atn;
    }
}

JdbcUriLexer.EOF = antlr4.Token.EOF;
JdbcUriLexer.T__0 = 1;
JdbcUriLexer.T__1 = 2;
JdbcUriLexer.DATABASE_TYPE = 3;
JdbcUriLexer.URI_SEPARATOR = 4;
JdbcUriLexer.PORT_NUMBER = 5;
JdbcUriLexer.IDENTIFIER = 6;
JdbcUriLexer.HOST_NAME = 7;
JdbcUriLexer.IPV4_ADDRESS = 8;
JdbcUriLexer.IPV6_ADDRESS = 9;
JdbcUriLexer.HEXDIGIT = 10;
JdbcUriLexer.CONNECTION_ARG = 11;
JdbcUriLexer.CONNECTION_ARG_INIT = 12;
JdbcUriLexer.PERIOD = 13;
JdbcUriLexer.COLON = 14;
JdbcUriLexer.AMP = 15;
JdbcUriLexer.WS = 16;



